package com.moji.entity.vo;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.moji.entity.MjOrderDetail;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
import java.util.Map;

/**
 * <p>
 * 流程配置表
 * </p>
 *
 * @author ccl
 * @since 2024-08-22
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value="MjFlowVo对象", description="审批详情")
public class MjFlowVo  {

    @ApiModelProperty(value = "id")
    private Long id;

    @ApiModelProperty(value = "用户名称")
    private String userName;

    @ApiModelProperty(value = "手机号码")
    private String mobile;

    @ApiModelProperty(value = "性别")
    private String sex;

    @ApiModelProperty(value = "邮箱")
    private String email;

    @ApiModelProperty(value = "用户类型 0 - 个人用户 1 - 企业用户")
    private Integer userType;

    @ApiModelProperty(value = "审批产品")
    private String productCode;

    @ApiModelProperty(value = "审批产品名称")
    private String productName;

    @ApiModelProperty(value = "产品类型  1 免费版  2 包年版  3 个性定制版")
    private Integer productType;

    @ApiModelProperty(value = "产品类型名称")
    private String typeName;

    @ApiModelProperty(value = "产品描述")
    private String decrible;

    @ApiModelProperty(value = "产品服务时长")
    private String productDuration;

    @ApiModelProperty(value = "优惠力度")
    private String productPreferential;


    @ApiModelProperty(value = "订单编码")
    private String orderCode;

    @ApiModelProperty(value = "下单时间")
    private Date orderTime;

    @ApiModelProperty(value = "订单状态0 - 待支付 1 - 已完成 2-已取消 3-待退款 4—已退款 5—审核拒绝  6-订单超时失效")
    private Integer orderStatus;

    @ApiModelProperty(value = "退款申请理由ID")
    private Long applicationReasonId;

    @ApiModelProperty(value = "退款申请理由")
    private String applicationReason;

    @ApiModelProperty(value = "退款申请理由备注")
    private String applicationRemark;

    @ApiModelProperty(value = "审核状态20 - 审核中 21 - 已审核 23-已驳回")
    private Integer auditStatus;

    @ApiModelProperty(value = "原金额")
    private BigDecimal orderAmount;

    @ApiModelProperty(value = "当前金额")
    private BigDecimal newOrderAmount;

    @ApiModelProperty(value = "修改后金额")
    private BigDecimal editOrderAmount;

    @ApiModelProperty(value = "浮动")
    private BigDecimal floatRatio;

    @ApiModelProperty(value = "发起人编码")
    private String submitCode;

    @ApiModelProperty(value = "发起人名称")
    private String submitName;

    @ApiModelProperty(value = "发起时间")
    private Date submitTime;

    @ApiModelProperty(value = "审核时间1")
    private Date auditTime1;

    @ApiModelProperty(value = "审核时间2")
    private Date auditTime2;

    @ApiModelProperty(value = "审核流程当前节点")
    private String auditNodes;

    @ApiModelProperty(value = "审批节点详情")
    private List<AuditFlowVo> auditFlowVos;

    @ApiModelProperty(value = "订单明细")
    private List<MjOrderDetail> orderDetailList;

    @ApiModelProperty(value = "支付时间")
    private Date payTime;

    @ApiModelProperty(value = "支付方式 0-支付宝 1-微信 2-对公支付")
    private String payType;

    @ApiModelProperty(value = "驳回原因")
    private String reason;
}
